/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.jomijushi.fid.servicios;

import com.jomijushi.fid.dominio.FidPersonaEmpresa;
import com.jomijushi.fid.dominio.FidRolTrabajador;
import com.jomijushi.fid.dominio.FidTrabajador;
import java.util.List;


/**
 *
 * @author Jorge Valverde Rebaza
 */
public interface PersonaEmpresaInterfazService extends Service<Integer,FidPersonaEmpresa> {

    /**
     * Agrega los roles de trabajador correspondientes a una entidad trabajador
     * @param trabajador elemento trabajador sobre el cual se le agregaran los roles
     * @param lstRoles lista de roles correspondientes a un trabajador
     */
    void registrar(FidTrabajador trabajador, List<FidRolTrabajador> lstRoles);

   /**
    * Devuelve una lista de todos los roles que le pertenecen a un trabajador
    * @param id identificador del trabajador 
    * @return Lista de roles del trabajador. Si no tiene devuelve null
    */
    List<FidRolTrabajador> listarRolesTrabajador(int id);


    /**
     * Actualiza los roles del trabajador
     * @param trabajador trabajador sobre el cual se actualizaran sus roles
     * @param lstNuevosRoles nueva lista de roles
     */
    void actualizar(FidTrabajador trabajador,List<FidRolTrabajador> lstNuevosRoles);


    /**
     * Elimina todo Trabajador y los roles que se relacionan con el
     * @param trabajador trabajador de quien se eliminaran sus roles
     */
    void eliminar(FidTrabajador trabajador, List<FidRolTrabajador> lstNuevosRoles);

    
}
